!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Function</title>
    <script>/**
     Function：
     函数（方法）对象
     创建
     1.var fun = new function(形参列表，方法体)；不要用
     2.function 方法名称() 形参类型可以不写
     3.var 方法名 = function(){

                                        }
     方法
     属性
     方法名.length（形参的个数）
     特点
     形参类型可以不写
     出现方法名相同的方法，会覆盖掉
     在JS中，方法调用只与方法的名称有关，和参数列表无关，实参和传参个数可以不符合
     在方法声明中有一个隐藏的内置对象（数组），arguments，封装所有的实参
     调用
     方法名称（实际参数列表）
     */


    // var fun1 = new function("a","b","alert(a);");?????

/*
    function add(a, b) {
        return a + b;//可以不用管返回值，反正都是var
    }

    var sum = add(6, 9);
*/
    /**
     * 求任意个数的和
     *
     */
    function add2() {
        var sum = 0;
        for ( i =0;i<arguments.length ;i++) {
            sum+=arguments[i]
        }
        alert(sum)
    }
        add2(1,5,6,8)
    </script>
</head>
<body>

</body>
</html>